iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
Python

讓Python不拍勝-實用套件實作與介紹系列 第 19

[DAY19]使用Python進行資料處理-Pandas(十一)

  • 分享至 

  • xImage
  •  

上一篇和各位簡單介紹了什麼是 CSV,以及示範怎麼用 with open() as 的方式讀檔,今天來介紹一個更方便的讀取方式

利用 read_csv() 函數讀取 CSV 檔

read_csv() 是 Pandas 內建的函數,他提供更方便簡潔的方式來讀取 CSV 檔,也和 with open() as 一樣會自動關檔,可以從下面範例看到程式碼是不是簡潔許多呢,並且能指定的參數也多很多,請接著看下面的範例

print('#1')
instrument = pd.read_csv('./example.csv', sep=',') #sep用來指定分隔符,預設為','
print(instrument)
print('\n#2')
instrument = pd.read_csv('./example.csv', index_col=0)
print(instrument) #index_col用來指定第幾欄當作index,預設為數字當作index

輸出結果

#1
  Unnamed: 0  guitar  bass  keyboard
0          A       2     7         8
1          B       3     6         9
2          C       4     5        10

#2
   guitar  bass  keyboard
A       2     7         8
B       3     6         9
C       4     5        10

其他參數的示範

print('#1')
#header=None用來告訴read_csv這個檔案沒有標題
instrument = pd.read_csv('./example.csv', header=None)
print(instrument)

print('\n#2')
#nrows=n用來決定要讀取前n列
instrument = pd.read_csv('./example.csv', index_col=0, nrows=2)
print(instrument)

print('\n#3')
#usecols用來指定要讀取的欄
instrument = pd.read_csv('./example.csv', index_col=0, usecols=[0, 2])
print(instrument)

print('\n#4')
#skiprows=n決定讀取時要跳過n列
instrument = pd.read_csv('./example.csv', index_col=0, skiprows=1)
print(instrument)

輸出結果

#1
     0       1     2         3
0  NaN  guitar  bass  keyboard
1    A       2     7         8
2    B       3     6         9
3    C       4     5        10

#2
   guitar  bass  keyboard
A       2     7         8
B       3     6         9

#3
   bass
A     7
B     6
C     5

#4
   2  7   8
A          
B  3  6   9
C  4  5  10

讀取 CSV 檔就簡單介紹到這邊,接下來要介紹如何存檔

儲存 CSV 檔

利用 with open() as 函數儲存 CSV 檔

csv_str = instrument.to_csv()
with open('./complete.csv', 'w') as file:
    file.write(csv_str)

打開檔案查看是否存檔成功
complete

利用 read_csv() 函數儲存 CSV 檔

這個方式就簡單很多,一行就可以搞定!

instrument.to_csv('./complete_2.csv')

打開檔案查看是否存檔成功
complete_2

那基本的 Pandas 資料處理就先簡單介紹到這邊,下一篇文章要介紹的是 Pandas 的延伸,算是比較進階的部分,要來介紹如何利用 Pandas 建立出來的數據來製圖,用圖形化的方式表示數據!


上一篇
[DAY18]使用Python進行資料處理-Pandas(十)
下一篇
[DAY20]使用Python進行資料處理-Pandas(十二)
系列文
讓Python不拍勝-實用套件實作與介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言